package com.settlement.system.model.vo;

import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.Map;

@Data
public class SysAccountingProjectVO implements Serializable {
    private Integer id;

    /**
     * 对账系统平台编码
     */
    private String billSystemPlatformCode;

    /**
     * 对账系统平台名称
     */
    private String billSystemPlatformName;

    /**
     * 电商平台账单项目
     */
    private String accountingProjectName;

    /**
     * 一级科目编码
     */
    private String firstCode;

    /**
     * 一级科目名称
     */
    private String firstName;

    /**
     * 末级科目编码
     */
    private String lastCode;

    /**
     * 末级科目名称
     */
    private String lastName;

    /**
     * 记账项目
     */
    private String accountingProject;

    /**
     * 辅助项配置 JSON
     */
    private Map<String, Map<String, String>> accessory = new HashMap<>();

    /**
     * 对方一级科目编码
     */
    private String otherFirstCode;

    /**
     * 对方一级科目名称
     */
    private String otherFirstName;

    /**
     * 对方末级科目编码
     */
    private String otherLastCode;

    /**
     * 对方末级科目名称
     */
    private String otherLastName;

    /**
     * 对方记账项目
     */
    private String otherAccountingProject;

    /**
     * 对方辅助项配置 JSON
     */
    private Map<String, Map<String, String>> otherAccessory = new HashMap<>();

    /**
     * 是否分摊
     */
    private String apportionment;

    /**
     * 票前票后
     */
    private String invoice;

    /**
     * 稽核标识
     */
    private String audit;

    /**
     * 是否参与记账
     */
    private String accounting;

    /**
     * 供应商名称
     */
    private String carrier;

    /**
     * 借贷方向
     */
    private String borrowing;

    /**
     * 对方借贷方向
     */
    private String otherBorrowing;
    /**
     * 来源单据
     */
    private String orderType;
    /**
     * 收支方向
     */
    private String payType;

    /**
     * 税率
     */
    private String rate;

    /**
     * 资金项目计算方向
     */
    private String fundingDirection;
    /**
     * 资金项目类别配置
     */
    private Map<String, String> fundingProjects = new HashMap<>();

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
}
